" Maintainer: Thomas Koehler <jean-luc@picard.franken.de>
" Last Change: 2001 Jan 15
" Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" A bunch of useful keywords
syn keyword uilType arguments callbacks color
syn keyword uilType compound_string controls end
syn keyword uilType exported file include
syn keyword uilType module object procedure
syn keyword uilType user_defined xbitmapfile
syn keyword uilTodo contained TODO
" String and Character contstants
" Highlight special characters (those which have a backslash) differently
syn match uilSpecial contained "\\\d\d\d\|\\."
syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=uilSpecial
syn match uilCharacter "'[^\\]'"
syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=uilSpecial
syn match uilSpecialCharacter "'\\.'"
syn match uilSpecialStatement "Xm[^ =(){}]*"
syn match uilSpecialFunction "MrmNcreateCallback"
syn match uilRessource "XmN[^ =(){}]*"
syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>"
syn match uilNumber "0[xX][0-9a-fA-F]\+\>"
syn region uilComment start="/\*" end="\*/" contains=uilTodo
syn match uilComment "!.*" contains=uilTodo
syn match uilCommentError "\*/"
syn region uilPreCondit start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError
syn match uilIncluded contained "<[^>]*>"
syn match uilInclude "^#\s*include\s\+." contains=uilString,uilIncluded
syn match uilLineSkip "\\$"
syn region uilDefine start="^#\s*\(define\>\|undef\>\)" end="$" contains=uilLineSkip,uilComment,uilString,uilCharacter,uilNumber,uilCommentError
syn sync ccomment uilComment
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet